package com.easylinkin.linkappapi.safe.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;


/**
 * 隐患记录表
 *
 * @author unknown
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("app_hidden_danger")
public class HiddenDanger extends Model<HiddenDanger> {
    /**
     * id
     */

    @TableId
    private String id;

    /**
     * 网格id
     */
    private Integer gridId;

    /**
     * 隐患库隐患id
     */
    @TableField("hidden_danger_id")
    private String hiddenDangerId;

    /**
     * 是否已现场整改 0：否，1是
     */
    @TableField("is_scene_rectify")
    private Integer isSceneRectify;

    /**
     * 补充说明/备注说明
     */
    @TableField("supplement_remarks")
    private String supplementRemarks;

    /**
     * 整改要求/检查项
     */
    @TableField("rectify_requirements")
    private String rectifyRequirements;

    /**
     * 参建单位id
     */
    @TableField("link_unit_id")
    private String linkUnitId;

    /**
     * 整改人id
     */
    @TableField("rectify_uid")
    private Long rectifyUid;

    /**
     * 整改时限
     */
    @TableField("rectify_end_time")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date rectifyEndTime;

    /**
     * 复查人id
     */
    @TableField("check_uid")
    private Long checkUid;

    /**
     * 现场图片，多个图片名称以逗号拼接
     */
    @TableField("scene_photo")
    private String scenePhoto;

    /**
     * 是否超期。0：否，1：是
     */
    @TableField("is_overdue")
    private Integer isOverdue;

    /**
     * 状态：0：待整改，1：待复查，2：合格，3：无需整改'
     */
    private Integer status;

    /**
     * 闭合时间(复查通过时间)
     */
    @TableField("close_time")
    private Date closeTime;

    /**
     * 检查部位id，来源检查部位
     */
    @TableField("check_part_id")
    private Integer checkPartId;

    /**
     * 通知人ids
     */
    @TableField("noticer_ids")
    private String noticerIds;

    /**
     * 通知人名称,隔开
     */
    @TableField("noticer_names")
    private String noticerNames;

    /**
     * 任务id
     */
    @TableField("task_id_")
    private Integer taskId;

    /**
     * 创建人id
     */
    @TableField("create_uid")
    private Long createUid;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

    /**
     * 租户id
     */
    @TableField("tenant_id")
    private String tenantId;

    /**
     * 类别(1隐患2巡检记录)
     */
    @TableField("type_")
    private Integer type;

    /**
     * 检查类型，来源企业级检查单类型，1日常检查，2专项检查
     */
    @TableField("enterprise_check_type")
    private Integer enterpriseCheckType;

    /**
     * 来源，空项目级，2企业级
     */
    @TableField("enterprise_source_type")
    private Integer enterpriseSourceType;

    /**
     * 创建人名称，冗余企业级创建用户名
     */
    @TableField("enterprise_create_user_name")
    private String enterpriseCreateUserName;

    /**
     * 企业级的组织id
     */
    @TableField("enterprise_organization_id")
    private Integer enterpriseOrganizationId;

    /**
     * 企业级创建人id
     */
    @TableField("enterprise_create_user_id")
    private Integer enterpriseCreateUserId;

    /**
     * 企业级安全检查单id
     */
    @TableField("enterprise_safety_check_id")
    private Long enterpriseSafetyCheckId;

    /**
     * 企业级隐患创建人电话
     */
    @TableField("enterprise_create_user_phone")
    private String enterpriseCreateUserPhone;

}
